package demo15;

import java.util.ArrayList;
import java.util.List;

public class GenericsDemo {
    public static void main(String[] args) {
        // 创建一个泛型List，指定元素类型为String
        List<String> books = new ArrayList<>();

        // 添加元素到List
        books.add("1984");
        books.add("To Kill a Mockingbird");
        books.add("The Great Gatsby");

        // 打印List中的所有元素
        System.out.println("Books List: " + books);

        // 访问List中的元素
        String firstBook = books.get(0);
        System.out.println("First book in the list: " + firstBook);

        // 创建一个泛型List，指定元素类型为Integer
        List<Integer> numbers = new ArrayList<>();

        // 添加元素到List
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);

        // 打印List中的所有元素
        System.out.println("Numbers List: " + numbers);

        // 访问List中的元素
        Integer firstNumber = numbers.get(0);
        System.out.println("First number in the list: " + firstNumber);

        // 创建一个泛型方法来打印List中的所有元素
        printList(books);
        printList(numbers);
    }

    // 泛型方法，可以接受任何类型的List
    public static <T> void printList(List<T> list) {
        System.out.println("Printing list:");
        for (T element : list) {
            System.out.println(element);
        }
    }
}
